package com.xm;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * @Author：xm
 * @Project：runoob
 * @Date：2024/7/15 12:23
 */

public class Iterator05 {
    public static void main(String[] args) {

        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("aaa");
        arrayList.add("bbb");
        arrayList.add("ccc");

        Iterator<String> iterator = arrayList.iterator();
        // System.out.println("iterator.next() = " + iterator.next());

        while (iterator.hasNext()) {
            System.out.println("iterator.next() = " + iterator.next());
        }

        System.out.println("---");
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(3);
        list.add(20);
        list.add(25);
        list.add(30);

        /*
        使用迭代器遍历集合时，如果在遍历过程中对集合进行了修改（例如添加或删除元素），
        可能会导致 ConcurrentModificationException 异常，为了避免这个问题，可以使用迭代器自身的 remove() 方法进行删除操作。
        */
        Iterator<Integer> it = list.iterator();
        while (it.hasNext()) {
            Integer i = it.next();
            if (i < 10) {
                it.remove();
            }
        }
        System.out.println(list);
    }
}
